Kurz und knapp: Ne, leider nicht. Möchte trotzdem meine Erfahrungen teilen. Insbesondere die Lösung auf ein paar Probleme.
Hab mich neulich nach günstigen Onlinespeichern zur externen Datensicherung umgesehen. Würde gerne um die 8TB speichern wollen. Der Speicher muss entweder direkt ⎇BorgBackup oder von ⎇Rclone unterstützt werden. Dabei viel mir ein Angebot des französischen Filesharing-Anbieters ⎇1fichier.com auf. Zwar reden sie etwas unseriös von "Unlimited hot storage", das wird aber relativiert durch realistische Speicherangaben für sogenanntes "Cold Storage". In den kalten Speicher werden wohl die Daten verschoben, die eine gewisse Zeit lang nicht heruntergeladen wurden. Wie das im Detail funktioniert und wie sich das auf den Backupprozess ausgewirkt hätte, kann ich leider nicht sagen, da ich nicht solange bei 1fichier.com war, das irgendwas verschoben worden wäre.Ich geb gerne df ein um zu schauen ob der Mount steht, nicht um zu ermitteln wie viel Speicher verbraucht wurde. Denn das wird nicht unterstützt. Ich erwähne das deshalb, weil df manchmal länger braucht und Rclone dann das hier ausgibt:# rclone --version rclone v1.60.1-DEV - os/version: ubuntu 24.04 (64 bit) - os/kernel: 6.8.0-60-generic (x86_64) - os/type: linux - os/arch: amd64 - go/version: go1.22.2 - go/linking: dynamic - go/tags: none # rclone config > n name> fichier Storage> fichier api_key> abcd # mkdir ~/fichier # rclone mount fichier: ~/fichier/ --no-modtime --vfs-cache-mode full --links
ERROR : 1Fichier root '': Statfs failed: failed to read user info: HTTP error 403 (403 Forbidden) returned body: "{\"message\":\"Flood detected: IP Locked #39\",\"status\":\"KO\"}"
Obwohl da steht “IP Locked” hab ich nie festgestellt das man wirklich blockiert ist.
ERROR : L1/test/lock.exclusive/L1@258168401705282.58803-0: Failed to copy: couldn't list files: HTTP error 404 (404 Not Found) returned body: "{\"message\":\"No such resource #334\",\"status\":\"KO\"}"
ERROR : L1/test/lock.exclusive/L1@258168401705282.58803-0: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: couldn't list files: HTTP error 404 (404 Not Found) returned body: "{\"message\":\"No such resource #334\",\"status\":\"KO\"}"
ERROR : L1/test/lock.exclusive/L1@258168401705282.58803-0: Failed to copy: can't upload empty files to this remote
# touch L1/test
ERROR : L1/test: Failed to copy: can't upload empty files to this remote
ERROR : L1/test: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: can't upload empty files to this remote
Warum bei filename_encryption nur obfuscate? Jetzt wo Rclone die Verschlüsselung macht, war zu ermitteln ob nicht gleich ganz auf Borg verzichtet werden kann. Und ich kenne von EncFS das die Länge von Dateinamen sehr schnell zum Problem wird. Für Borg sind die kürzeren Dateinamen kein Problem und man kann auch standard nehmen.# rclone config > n name> fichierEnc Storage> crypt remote> fichier:L1Enc filename_encryption> obfuscate directory_name_encryption> true Option password: g 1024 Option password2: g 1024
# rclone mount fichierEnc: ~/fichier --no-modtime --vfs-cache-mode full --links
# mkdir ~/fichier/Foo
# fusermount -u /root/fichier
# rclone sync /home/foo/ fichierEnc:Foo --dry-run
# rclone sync /home/foo/ fichierEnc:Foo --progress --transfers=2 --filter "- /.cache/**" --filter "- /.local/**" --filter "- **/.Trash-*/**" --filter "- .sync_*.db*" --filter "- *.txt.kate-swp"
# rclone mount fichierEnc: ~/fichier --no-modtime --vfs-cache-mode full --dir-cache-time 5h --vfs-cache-max-age 5h --links --transfers=2 --rc --log-file ~/fichier-rclone.log --log-format=date,time,pid &
Die --rc Option wird später benötigt um zu ermitteln ob die Uploads abgeschlossen sind. Ich verwende ein & obwohl es ein --daemon Parameter gibt, da sich rc und daemon nicht mischen lassen. (Vermutlich ein Bug.)
Failed to start remote control: start server failed: listen tcp 127.0.0.1:5572: bind: address already in use
Fatal error: mount not ready
# export BORG_PASSPHRASE=1234
# export BORG_CACHE_DIR=/root/.cache/borg/
# borg init -e repokey-blake2 ~/fichier/Foo
# borg key export ~/fichier/Foo/ hostname.Foo.borgkey # zum Passwortsafe
# borg create \
--list \
--stats \
--progress \
--compression zstd \
--exclude '/home/foo/.Trash-*/' \
--exclude '/home/foo/.cache/' \
--exclude '.sync_*' \
--exclude '*.txt.kate-swp' \
/root/fichier/Foo::{hostname}-Schrank-{now:%Y-%m-%dT%H:%M:%S} /home/foo
sleep 35 && rm -rf /root/fichier/Foo/lock.exclusive/
stehen.uploadsinProgress und uploadsQueued sagen einem ob noch Daten hochgeladen werden müssen. Diese Schleife hängt so lange, bis alle Uploads vollendet sind:# rclone rc vfs/stats { "diskCache": { "bytesUsed": 0, "erroredFiles": 0, "files": 0, "hashType": 4, "outOfSpace": false, "path": "/root/.cache/rclone/vfs/fichier", "pathMeta": "/root/.cache/rclone/vfsMeta/fichier", "uploadsInProgress": 0, "uploadsQueued": 0 },
while [[ $(rclone rc vfs/stats | jq '.diskCache | [.uploadsInProgress, .uploadsQueued] | add') -gt 0 ]]
do
sleep 15
done
Failed to rc: connection failed: Post "http://localhost:5572/vfs/stats": net/http: timeout awaiting response headers
Ich vermute das hängt mit der Anzahl der auf 1fichier abgelegten Dateien zusammen. Es vergingen bei 2TB gespeicherten Daten teilweise 20 Minuten, bis rclone rc vfs/stats mit Daten antwortete. Weswegen vor der ersten while Schleife noch diese nötig ist:while rclone rc vfs/stats > /dev/null 2>&1; rcexit=$?; [[ $rcexit -ne 0 ]]
do
sleep 15
done
NOTICE: vfs cache: in KickCleaner, ready to kick cleaner
ERROR : Foo/nonce-tw16sq4g.tmp: vfs cache: failed to open item: vfs cache item: create cache file failed: vfs cache item: _save failed: vfs cache item: failed to encode metadata: write /root/.cache/rclone/vfsMeta/fichierEnc/Foo/nonce-tw16sq4g.tmp: no space left on device
ERROR : Foo/data/3/3289: Failed to copy: upload response not found
ERROR : Foo/data/3/3289: vfs cache: failed to upload try #12, will retry in 5m0s: vfs cache: failed to transfer file from cache to remote: upload response not found